package com.kqzz.common.utils;

import lombok.extern.slf4j.Slf4j;

import java.util.Random;

/**
 * @author luyixuan
 * @version 1.0
 * @ClassName
 * @Description: 四位数字随机数生成工具类封装
 * @date 2022/11/23 11:42
 */
@Slf4j
public class RandGenUtils {

    public static String codeFen() {
        String str = "0123456789";
        /*String类 中 toCharArray()方法 将此字符串转换为一个新的字符数组。*/
        char[] VerificationCodeArray = str.toCharArray();
        Random random = new Random();
        int count = 0;/*计数器*/
        StringBuilder stringBuilder = new StringBuilder();
        while (true) {
            /*随机生成一个数组长度的随机数*/
            int index = random.nextInt(VerificationCodeArray.length);
            /*将随机生成的数所对应的元素赋给字符c*/
            char c = VerificationCodeArray[index];
        /*StringBuilder类中 indexOf()方法 从指定的索引处开始，
        返回第一次出现的指定子字符串在该字符串中的索引。如果不存在这样的 k 值，则返回 -1。
        "加上""自动转化为字符串"*/
            if (stringBuilder.indexOf(c + "") == -1) {
                /*StringBuilder类中 append(char c)方法 将 char 参数的字符串表示形式追加到此序列。*/
                stringBuilder.append(c);
                /*添加一次计数器自增1*/
                count++;
            }
            /*当count等于4时结束，随机生成四位数的验证码*/
            if (count == 4) {
                break;
            }
        }
        /*返回字符串*/
        return stringBuilder.toString();
    }

}
